﻿/**
 * 复选框，重新 getModelData，以支持返回 inputValue。
 */
Ext.define('Happy.form.field.Checkbox', {
    extend: 'Ext.form.field.Checkbox',
    alias: 'widget.happy-checkbox',

    /**
     * @cfg 使用 me.inputValue 作为 getModelData 的返回值。
     */
    useInputValueAsModelData: false,
    /**
     * @cfg getModelData 模型字段对应的类型是否为数组。
     */
    isModelDataArray: false,

    /**
     * 重写 ExtJs。
     */
    getModelData: function () {
        var me = this;

        if (!me.useInputValueAsModelData) {
            return me.callParent(arguments);
        }

        if (me.disabled || me.isFileUpload()) {
            return null;
        }

        if (!me.getValue()) {
            return null;
        }

        var data = {};
        if (me.isModelDataArray) {
            data[me.getName()] = [me.inputValue];
        }
        else {
            data[me.getName()] = me.inputValue;
        }
        return data;
    }
});